package com.hui.stock.service;

import com.hui.stock.pojo.domain.MenuDomain;
import com.hui.stock.vo.req.RolePageInfoReqVo;
import com.hui.stock.vo.req.AddRoleReqVo;
import com.hui.stock.vo.req.UpdateRoleReqVo;
import com.hui.stock.vo.resp.PageResult;
import com.hui.stock.vo.resp.R;

import java.util.List;

/**
 * @author: ymh
 * @date: 2024/12/30 16:02
 * @description:
 */
public interface RoleService {
    R<PageResult> getRolePageInfo(RolePageInfoReqVo rolePageInfoReqVo);

    R<List<MenuDomain>> getAllPermissionsTree();

    R addRole(AddRoleReqVo roleReqVo);

    R<List<Long>> getRolePermissions(Long roleId);

    R updateRole(UpdateRoleReqVo updateRoleReqVo);

    R<List<Long>> deleteRoleAndPermissions(Long roleId);

    R updateRoleStatus(Long roleId, Integer status);
}
